#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

// 整数区间内求和
int AddToTarget(int start, int end)
{
    int sum = 0;
    // 为了验证，这里故意写错，写成开区间
    for(int i = start; i < end; ++i)
        sum += i;
    //return sum;
    exit(10);
}
// 查看strerror对应的错误码信息
void ViewErrorCode()
{
    for(int i = 0; i < 140; ++i)
        printf("错误码%d: %s\n", i, strerror(i));
}
int main()
{
   // printf("hello world!\n");
   // printf("hello world!");
   // sleep(2);
   // exit(20);// 库函数
   // _exit(20);// 系统调用

   // printf("hello world!\n");
   // //exit(10);

    int sum = AddToTarget(1, 50);
    printf("sum: %d\n", sum);
    while(1)
    {
        printf("sleep\n");
        sleep(1);
    }

    // 写代码是为了完成某件事件，当代码跑完后，如何得知任务完成的如何？——利用退出码
    // 退出码为0：表示进程运行完，且结果正确，即进程成功
	// 退出码不为0：表示进程运行完但结果错误，或进程异常，即进程失败
    //            具体为几，就代表哪种错误
    // 但是，退出码是数字，对用户不太友好，因此，一般情况，每个退出码都有相应的文字描述
    // 这个文字描述，可以使用strerror实现

    // 求解1~100的整数的总和
    //int sum = AddToTarget(1, 100);
    // 正确返回值写法:
    //if(sum == 5050)
    //    return 0;
    //else
    //    return 1; // 用1表示错误
    // 直接使用return 0  是不妥的写法
    //return 0;
}
